package com.easygem.system.mapper;


import com.easygem.common.model.system.Employee;
import com.easygem.common.vo.system.EmployeeVO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @Author 文晓平
 * @Date 2024/12/7 15:03
 * @Version 1.0
 **/
public interface EmployeeMapper extends Mapper<Employee> {
    /**
     * 多条件查询所有用户
     * @param employee 用户实体对象
     * @return  用户集合列表
     */
    public List<Employee> selectEmployeeList(Employee employee);

    /**
     * 更新用户状态
     * @param empId  用户编号
     * @param status  用户状态
     * @return
     */
    public int updateEmployeeStatus(@Param("empId") Long empId, @Param("status")Integer status);

    /**
     * 更新多个用户状态
     * @param map  多个用户编号，用户状态
     * @return
     */
    public int updateEmployeeStatusMore(Map<String, Object> map);

    /**
     * 根据部门编号查询用户列表
     *
     * @param deptId 部门编号
     * @return 用户列表集合
     */
    List<EmployeeVO> findEmployeeListByDept(@Param("deptId") Long deptId);

    List<Employee> selectEmployee();


    /**
     * 根据用户编号得到用户角色
     * @param userId  用户编号
     * @return
     */
    Long getEmpRole(@Param("empId") Long userId);

    int editPwd(@Param("empId") Long empId, @Param("newPwd")String newPwd);


    /**
     * 根据用户编号得到用户角色
     * @param userId  用户编号
     * @return
     */
    Long getUserRole(@Param("empId") Long userId);

}
